# # 1.编写程序,分别实现如下功能。
# # (1)将字符串"python"转成大写。
# import datetime
#
# print('python'.upper())
# # (2)计算字符串"thon"在字符串"python"中出现的位置。
# print('python'.index('thon'))
# # (3)用逗号分隔字符串"p,y,t,h,o,n"。
# print(list('python'))
# # (4)有一个字符串 string="python is good.html",采用不同的方法从这个字符串里获得.html前面的部分。
# #方法1
# import  re
# pattern = re.compile('.html')
# str="python is good.html"
# print(pattern.sub('',str))
#
# # 方法2
# str1="python is good.html"
# print(str1.strip('.html'))
#
# # (5)获取宇符串"Python is good"的长度。
# str2="python is good"
# print(len(str2))
#
# # (6)将字符串"Pythonis good"里的 good 替换成 perfect。
# str3="python is good"
# print(str3.replace('good','perfect'))
#
# # (7)字符串"Python is good\n"的末尾有一个回车符,将其删除。
# str4="python is good\n"
# #方法1
# import  re
# pattern = re.compile('\n')
# print(pattern.sub('',str4))
#
# # 方法2
# print(str4.strip('\n'))
#
# # 2.将自己姓名的汉语拼音(全部小写,姓和名之间用’.'隔开)赋值到name变量中,编写程序实现下述功能。
# name='zhang.youze'
# # (1)将姓名中的首字母转成大写。
# print(name.capitalize())
#
# # (2)判断name变量对应的值是否以"Zhao"开头,并输出结果
# print(name.startswith('Zhao'))
# # (3)判断name变量对应的值是否以"han"结尾,并输出结果。
# print(name.endswith('hao'))
# # (4)从name变量中分别取出姓和名的拼音,并输出结果。
# for i in name.split('.'):
#     print(i)
# # 3.利用正则表达式识别所有的字符串:'bat','bit','but','hat'，'hit','hut'。
# # import re
# # reg = re.compile('[bh].t')
# # str5=['bat','bit','but','hat','hit','hut']
#
# # 4.编程实现:利用正则表达式提取给定字符串中完整的年、月、日和时间字段。
# time = '2024-5-12 11:40:29'
# import re
# reg = re.compile("-|' '")
# str6 = reg.sub('',time)

# 5.编程实现:利用正则表达式将给定字符串中所有的电子邮件地址识别出来,并替换为自己的电子邮件地址。
# 6.从键盘输人一个中文字符串变量s,内部包含中文逗号和句号。计算字符串s中的中文字符个数,不包括中文逗号和句号字符。用jieba分词后,显示分词的结果,用/分隔,并显示输出分词后的中文词语的个数,不包含逗号和句号。
import jieba


# def count_chinese_characters_and_tokenize(s):
#     # 计算字符串中的中文字符个数，不包括逗号和句号
#     chinese_char_count = sum(1 for char in s if '\u4e00' <= char <= '\u9fff' and char not in '，。')
#
#     # 使用jieba分词
#     tokens = jieba.lcut(s)
#
#     # 过滤掉逗号和句号，然后统计词语个数
#     words_count = len([word for word in tokens if word not in '，。'])
#
#     # 以"/"分隔分词结果并输出
#     segmented_text = '/'.join(tokens)
#
#     print(f"原始字符串中的中文字符个数（不包括逗号和句号）: {chinese_char_count}")
#     print(f"分词后的文本: {segmented_text}")
#     print(f"分词后的中文词语个数（不包含逗号和句号）: {words_count}")
#
# s = input("请输入一个包含中文逗号和句号的字符串：")
# count_chinese_characters_and_tokenize(s)
#
# 原始字符串中的中文字符个数（不包括逗号和句号）: 9
# 分词后的文本: 藏/在/那里/，/我/是/不/知道/。
# 分词后的中文词语个数（不包含逗号和句号）: 7
# 如果需要，关闭jieba的分词器（虽然在这个脚本中并不是必须的）
# jieba.finalize()
# 7.从键盘输入一个中文字符串变量 s,内部包含中文标点符号。用 jieba 分词,计算字符串s中的中文词汇个数,不包括中文标点符号。
# (1)显示输出分词后的结果,用/分隔,以及中文词汇个数。
# (2)统计分词后的词汇出现的次数,用字典结构保存。输出每个词汇出现的次数和出现次数最多的词汇。